<?php

class SettingController extends AController
{

    public function actionIndex()    //Общие настройки
    {
   
    if(isset($_POST) and !empty($_POST))
    {    
     Yii::app()->cache->flush();             //Очищает весь кэш и админки и front (!!! TODO: Добавить очистку кэша только определённых позиций для настройки)
        
         if(isset($_POST['sitename']))
            Yii::app()->settings->set('system', 'sitename', $_POST['sitename'], $toDatabase=true); 
            
         if(isset($_POST['sitemetatag']))
            Yii::app()->settings->set('system', 'sitemetatag', $_POST['sitemetatag'], $toDatabase=true);  
            
         if(isset($_POST['sitemetadescript']))
            Yii::app()->settings->set('system', 'sitemetadescript', $_POST['sitemetadescript'], $toDatabase=true); 
            
         if(isset($_POST['sitemetakey']))
            Yii::app()->settings->set('system', 'sitemetakey', $_POST['sitemetakey'], $toDatabase=true); 
            
         if(isset($_POST['rsscount']))
            Yii::app()->settings->set('system', 'rsscount', (int)$_POST['rsscount'], $toDatabase=true);   
            
         if(isset($_POST['maintenance']))
            {
            Yii::app()->settings->set('system', 'maintenance', (int)$_POST['maintenance'], $toDatabase=true); 
            @unlink(Yii::getPathOfAlias('application').'/config/.maintenance');                          //Если сайт открыт удаляем если есть файл .maintenance
            }else
                {
                  Yii::app()->settings->set('system', 'maintenance', 0 , $toDatabase=true);
                  file_put_contents(Yii::getPathOfAlias('application').'/config/.maintenance', '');     //Если сайт закрыт создаём пустой файл .maintenance
                }
                 
            
         if(isset($_POST['maintenancemsg']))
            Yii::app()->settings->set('system', 'maintenancemsg', $_POST['maintenancemsg'], $toDatabase=true); 
            
       Yii::app()->user->setFlash('success', 'Настройки успешно сохранены!');     
         $this->redirect(array('index'));     
     }
     
     
     $model = Setting::model()->findAll();
     $this->render('index', array('model'=>$model));
    }

    
    
    public function actionAdd()         //Дополнительные настройки
    {
    $modelsetting = new Setting;
         
         if(isset($_POST) and !empty($_POST))
            {
              Yii::app()->cache->flush();             //Очищает весь кэш и админки и front (!!! TODO: Добавить очистку кэша только определённых позиций для настройки)   
                
             if(isset($_POST['myemail']))
                Yii::app()->settings->set('system', 'myemail', $_POST['myemail'], $toDatabase=true); 
                
             if(isset($_POST['serveremail']))
                Yii::app()->settings->set('system', 'serveremail', $_POST['serveremail'], $toDatabase=true);  
                
             if(isset($_POST['comment']))
                Yii::app()->settings->set('system', 'comment', (int)$_POST['comment'], $toDatabase=true); 
                else
                    Yii::app()->settings->set('system', 'comment', 0 , $toDatabase=true); 
                
             if(isset($_POST['commentmoder']))
                Yii::app()->settings->set('system', 'commentmoder', (int)$_POST['commentmoder'], $toDatabase=true); 
                else
                    Yii::app()->settings->set('system', 'commentmoder', 0 , $toDatabase=true); 
                
             if(isset($_POST['commentsort']))
                Yii::app()->settings->set('system', 'commentsort', (int)$_POST['commentsort'], $toDatabase=true);   
                
            //************************************************    
                 if(isset($_POST['defaulttheme']))
                    $theme = (int)$_POST['defaulttheme'];       //ключ в массиве с темами                                           
                  
            //--------------------------------------------
            /** Сохранение дополнительных параметром во 2-ом файле настройки */
                 $configpath = Yii::getpathOfAlias('application').'/config/incfrontconfig.php';      //дополнительный файл настройки
                 $extraconfig = array();
                 $extraconfig = include $configpath;                                                //создаём массив от дополнительного файла конфигурации
            
                $arr = $modelsetting->themes;                                                        //Массив списка тем в дирректории тем
                $strconfig = "<?php return array('theme' => '$arr[$theme]');";                       //Формируем строку для записи в файл настройки
               
                
                if(isset($_POST['defaulttheme']) and $_POST['defaulttheme'] !=0 )                        //!!!!  Или другие параметры(конфигурации), тогда перезапишем файл
                     file_put_contents($configpath, $strconfig);        //Перезаписываем дополнительный файл конфигурации
            
            //*********************************************
           Yii::app()->user->setFlash('success', 'Настройки успешно сохранены!');     
             $this->redirect(array('add'));                                                
             }
     
    
     $model = Setting::model()->findAll();
     
     $this->render('add', array('model'=>$model, 
                                'modelsetting'=>$modelsetting
                                ));
        
    }



}
